package models

import (
	"git.oschina.net/YPTArch/processcache/sys/redis"
	"git.oschina.net/YPTArch/processcache/sys/logs"
	"fmt"
)


//User 用户中心中定义的用户结构
type User struct {
	UserId    string //用户id
	UserName  string //用户名
	UserPwd   string //用户登录密码
	UserPhone string //用户手机号
	UserEmail string //用户电子邮件

	//增加存储token部分的值
}

//
func Save(name string, params map[string]string) error {
	hash := &redis.Hash{name}
	for k, v := range params {
		err := hash.PutString(k, v)
		if err != nil {
			logs.Logger.Error(fmt.Sprintf("save user to redis, key:%s, value:%s, err: %v ", k, v, err))
			return err
		}
	}
	return nil
}

//func GetUserStruct(name string) (*User, error) {
//	hash := &redis.Hash{name}
//	values, err := hash.HgetAll()
//	if err != nil {
//		logs.Logger.Error(fmt.Sprintf("GetUserStruct to redis err: %v ", err))
//		return nil, err
//	}
//	var user User
//	if err := redis.ScanStruct(values, &user); err != nil {
//		logs.Logger.Error(fmt.Sprintf("ScanStruct to redis err: %v ", err))
//		return nil, err
//	}
//
//	return &user, nil
//}

//删除
func Remove(name string) (int, error) {
	return redis.Del(name)
}

//设置超时时间
func Delay(name string, expiration int) (err error) {
	hash := &redis.Hash{name}
	return hash.SetExpire(expiration)
}

//检查key是否存在
func Exist(key string) (int, error)  {
	return redis.Exist(key)
}



